{require_otp_vsn, "20.*"}.

{plugins, [
        rebar_covertool
    ]}.

{deps, [
        {jsx, "2.9.0"}
    ]}.

{erl_opts, [
    warn_deprecated_function,
    warn_export_all,
    warn_export_vars,
    warn_obsolete_guard,
    warn_shadow_vars,
    warn_unused_function,
    warn_unused_import,
    warn_unused_record,
    warn_unused_vars,

    nowarnings_as_errors
    %warnings_as_errors
]}.

{erl_first_files, [
]}.

{edoc_opts,[{todo,true}]}.

{eunit_opts, [
    verbose,
    %nowarn_missing_spec,
    nowarnings_as_errors,
    {report,{eunit_surefire,[{dir,"."}]}}
]}.

{eunit_compile_opts, [
    nowarn_missing_spec
]}.

{xref_warnings, true}.
{xref_checks, [
            undefined_function_calls,
            undefined_functions,
            locals_not_used,
            % exports_not_used,
            deprecated_function_calls,
            deprecated_functions
        ]}.

{dialyzer, [
        %% Store PLT locally inside the project in .rebar (Default)
        %% {plt_location, local},
        %% Store PLT in custom directory
        %% {plt_location, "custom_dir"},
        {warnings, [unmatched_returns, error_handling, unknown]},
        {base_plt_apps, [erts, kernel, stdlib, syntax_tools, tools]}
    ]}.

{cover_export_enabled, true}.
{cover_enabled, true}.
{cover_print_enable, true}.

{covertool_eunit, {"_build/test/cover/eunit.coverdata", "eunit.coverage.xml"}}.
{covertool_prefix_len, 0}.

{xref_checks,[
        undefined_function_calls,
        undefined_functions,
        locals_not_used,
        %exports_not_used,
        deprecated_function_calls,
        deprecated_functions
    ]}.

